//funcion que valida el rut
function validarRut(e)
{ 
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar) 
    patron = /[\d-k]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);  
}

//funcion que permite escribir solo numeros
function validar(e)
{ 
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar) 
    patron = /\d/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);  
} 

//funcion que permite ingresar numeros con punto
function validarDecimal(e)
{ 
    tecla = (document.all) ? e.keyCode : e.which; 
    if (tecla==8) return true; //Tecla de retroceso (para poder borrar) 
    patron = /[\d.]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);  
}

//funcion que permite convertir numeros con unidades de mil
function puntitos(donde,caracter)
{
	pat = /[\*,\+,\(,\),\?,\,$,\[,\],\^]/;
	valor = donde.value;
	largo = valor.length;
	crtr = true;
	if(isNaN(caracter) || pat.test(caracter) == true)
	{
		if (pat.test(caracter)==true)
		{ 
			caracter = "\"" + caracter;
		}
		carcter = new RegExp(caracter,"g");
		valor = valor.replace(carcter,"");
		donde.value = valor;
		crtr = false;
	}
	else
	{
		var nums = new Array();
		cont = 0;
		for(m=0;m<largo;m++)
		{
			if(valor.charAt(m) == "." || valor.charAt(m) == " ")
				{continue;}
			else
			{
				nums[cont] = valor.charAt(m);
				cont++;
			}
		}
	}
	var cad1="",cad2="",tres=0;
	if(largo > 3 && crtr == true)
	{
		for (k=nums.length-1;k>=0;k--)
		{
			cad1 = nums[k];
			cad2 = cad1 + cad2;
			tres++;
			if((tres%3) == 0)
			{
				if(k!=0)
				{
					cad2 = "." + cad2;
				}
			}
		}
		donde.value = cad2;
	}
}

//funcion que elimina los puntos de un numero
function EliminaPuntos(num)
{
	valor = num.replace(/\./g,'');
	return valor;
}

//funcion que cambia la coma por punto
function CambiaComa(num)
{
	valor = num.replace(/\,/g,'.');
	return valor;
}

//funcion que permite pasar a otro objeto mediante la tecla enter
function tabular(e,obj) 
{ 
  tecla=(document.all) ? e.keyCode : e.which; 
  if(tecla!=13) return; 
  frm=obj.form; 
  for(i=0;i<frm.elements.length;i++) 
    if(frm.elements[i]==obj) { 
      if (i==frm.elements.length-1) i=-1; 
      break } 
  frm.elements[i+1].focus(); 
  return false; 
} 

//funcion que permite convertir numeros con unidades de mil y 2 decimales
function decimal(donde,caracter)
{
	//numero con 2 decimales
	var dec =2
	if (dec != 0)
		{decimales = true}

	pat = /[\*,\+,\(,\),\?,\\,\$,\[,\],\^]/
	valor = donde.value
	largo = valor.length
	crtr = true
	if(isNaN(caracter) || pat.test(caracter) == true)
		{
		if (pat.test(caracter)==true) 
			{caracter = "\\" + caracter}
		carcter = new RegExp(caracter,"g")
		valor = valor.replace(carcter,"")
		donde.value = valor
		crtr = false
		//alert('paso1');
		}
	else
		{
		//alert('paso2');
		var nums = new Array()
		cont = 0
		for(m=0;m<largo;m++)
			{
			if(valor.charAt(m) == "." || valor.charAt(m) == " " || valor.charAt(m) == ",")
				{continue;}
			else{
				nums[cont] = valor.charAt(m)
				cont++
				}
			
			}
		}
	
	if(decimales == true) {
		//alert('paso3');
		ctdd = eval(1 + dec);
		nmrs = 1
		}
	else {
		//alert('paso4');
		ctdd = 1; nmrs = 3
		}
	var cad1="",cad2="",cad3="",tres=0
	if(largo > nmrs && crtr == true)
		{
		//alert('paso5');
		for (k=nums.length-ctdd;k>=0;k--){
			cad1 = nums[k]
			cad2 = cad1 + cad2
			tres++
			if((tres%3) == 0){
				if(k!=0){
					cad2 = "." + cad2
					}
				}
			}
			
		for (dd = dec; dd > 0; dd--)	
		{
			//cad3 += nums[nums.length-dd]; 
			//alert(nums[nums.length-dd]);
			if(typeof (nums[nums.length-dd]) != "undefined")
			{
				cad3 += nums[nums.length-dd];
			} 
		}
		if(decimales == true)
		{cad2 += "," + cad3}
		 donde.value = cad2
		}
	donde.focus()
}	